As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to these users is an information handling system or computing system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may vary with respect to the type of information handled; the methods for handling the information; the methods for processing, storing or communicating the information; the amount of information processed, stored, or communicated; and the speed and efficiency with which the information is processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include or comprise a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. The software components may comprise one or more modules that contain instructions that when executed perform one or more functions.
The information handling system may include one or more operating systems. An operating system serves many functions, such as controlling access to hardware resources and controlling the execution of application software. Operating systems also provide resources and services to support application software. These resources and services may include a file system, a centralized configuration database (such as the registry found in Microsoft Windows operating systems), a directory service, a graphical user interface, a networking stack, device drivers, and device management software. In some instances, services may be provided by other application software running on the information handling system, such as a database server.
Some information handling systems are designed to interact with other information handling systems over a network connection. In some instances, the information handling systems may share resources over the network. Certain of the networked information handling systems may act as servers, while others act as clients. In such systems, client applications and client devices may be designed so that the majority of the heavily used resources are at a shared information handling system, such as a centralized server. The client devices may have minimal memory, disk storage, and processor power. Use of such client devices may reduce the total cost of ownership because of the reduced use of resources at the client devices and because the clients can be centrally administered and updated from the server. Such client devices may be particularly well-suited for a network which can handle a significant number of devices.
Virtual desktop infrastructure (VDI) environments may include any one or more information handling systems. A virtual environment, such as a VDI, separates a desktop environment and its associated software in a data center or server, from the information handling system that is used to access the desktop environment. A “virtual desktop” may refer to any number of methodologies including server-based computing (SBC) where a number of users share the desktop of a server-based operating system, VDI where each user gets their own virtual machine which typically runs a client operating system, and application virtualization technologies that concentrate more closely on making specific applications available to users with these applications, for example, being hosted on a remote system or streamed to the user's local system. With respect to the virtual desktop technologies described, SBC is often regarded as being appropriate for task/call-center type environments, while VDI is more commonly deployed for knowledge workers who require a higher level of user personalization, and application virtualization technologies may be commonly deployed across SBC, VDI and physical desktop environments to solve business challenges such as legacy application OS compatibility.
In universal serial bus (USB) virtualization solutions, the software secure USB disks are virtualized in the server. Read and write transactions are transferred to the software secure USB disks connected to the client over a network. In some instances, the software secure USB disk may be a software secure USB disk that includes a hidden partition. The software secure USB disk may have a partition, for example, less than 10 megabytes (MB), with a file system loaded for storing the necessary locking software to unlock the hidden partition. Another partition of the software secure USB disk contains the hidden partition.
At the server, a software security controller driver (typically provided by a vendor) will handle the hidden partition. When a successful unlock occurs, the software security controller driver handles this secure (or encrypted) hidden partition. The software security controller driver creates a virtual volume and file-system (internally) and assigns a drive-letter (for example, drive letter “E:” or drive letter “F:”) so that an application may perform file level reads & writes the same as a normal disk drive. This software security controller driver converts the file reads and writes to storage (raw) reads and writes. The hidden partition is unlocked according to one or more parameters required by the locking application/software. For example, the locking application may require a password, USB mass storage device serial number (which may be read by the locking application), vendor identification and completion within a predetermined time period.
However, in high latency networks, such as a wide area network (WAN), the latency of the network may cause the transactions associated with unlocking the hidden volume to exceed the permitted predetermined time period. Several issues arise with these prior technologies. For example, a hidden partition without a volume and a file system cannot be drive-mapped. Also, vendor-provided security controllers require raw reads and writes which is not supported in drive-mapping. These USB virtualization solutions are a request and response architecture. Data is read from the virtualized USB mass storage device by making multiple read requests (including device probe requests) in that a single read request cannot read the complete data. This causes delay while the data is being accessed. In a high latency network, the delay may be increased and packet loss may occur making the virtualized USB mass storage device unusable, costly, or ineffective. For example, in a high latency network each transaction takes longer to complete or a packet is lost and needs to be retransmitted. Thus, the USB mass storage device may be unusable as the hidden volume cannot be unlocked within the predetermined time period. The present disclosure provides systems and methods for this problem.